package com.ssyan;

/**
 * @author ssyan
 * @Description 验证虚拟机必须保证一个类的 <clinit>()方法在多线程下被同步加锁，只被加载一次，保证线程安全
 * @create 2021/8/16 0:24
 * @Version 1.0
 */
public class DeadThreadTest {
    public static void main(String[] args) {
        Runnable r = () -> {
            System.out.println(Thread.currentThread().getName() + "开始");
            DeadThread dead = new DeadThread();
            System.out.println(Thread.currentThread().getName() + "结束");
        };

        Thread t1 = new Thread(r, "线程1");
        Thread t2 = new Thread(r, "线程2");

        t1.start();
        t2.start();
    }
}

class DeadThread{
    static {
        if (true) {
            System.out.println(Thread.currentThread().getName() + "初始化当前类");
            while (true) {

            }
        }
    }
}
